#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <stdio.h>
#include <linux/in.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include "cJSON.h"

//对象{}   数组[]   键值对：       
int main(void)
{

	const char *str = "{\"name\":\"蚂蚁\",\"age\":12, \"QQ\":[\"11111111\", \"22222222\",\"33333333\"],\"PET\":{\"type\":\"aaaa\", \"age\":3, \"color\":\"red\"}}";
	
	cJSON *obj = cJSON_Parse(str);
	cJSON *mayi = cJSON_GetObjectItem(obj,"name");  //键值对通过键获取值:值可以是对象，如果是对象可以通过GetObjectItem继续获取对象里面对键值对name:*
	printf("%s\n",mayi->valuestring);
	
	
	cJSON *pet = cJSON_GetObjectItem(obj,"PET"); 
	cJSON *type = cJSON_GetObjectItem(pet,"type"); 
	printf("%s\n",type->valuestring);

	cJSON *array = cJSON_GetObjectItem(obj, "QQ"); //获取数组QQ:[]

	int size = cJSON_GetArraySize(array);      //获取数组长度
	int i;
	for(i = 0; i < size; i++)
	{
		cJSON *aobj = cJSON_GetArrayItem(array, i);//获取数组内容，即取出数组成员
		printf("%s\n", aobj->valuestring); 
	}

}
